home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Software Contest 3 / FM Towns Software Contest 3.iso / exp / janken / jan.doc < prev    next >
Text File  |  1994-01-07  |  9KB  |  180 lines

  1.  
  2.                音声ジャンケン
  3.  
  4.                    by 筑波大学附属駒場中学校 伊藤哲史
  5.  
  6. ☆特徴
  7.  
  8.   ・90%を越える高音声認識率(外付けの高感度マイクを使って,はっきりと話せ
  9.    ば100%になります)
  10.   ・独自アルゴリズム使用による,ソフトウェアだけでの高速な音声認識
  11.   ・マウス操作のみの精錬された単純操作
  12.   ・システムCD内の音声データを使用しており,まるでTOWNSが人間になった
  13.    かのような錯覚を覚える(ちょっとおおげさ)
  14.   ・プログラムにはGCCを使用しており,TOWNSユーザーであればどのような
  15.    人でも使用可能(メインメモリ1Mで動作するかどうかは未確認です)
  16.  
  17.  
  18. ☆起動方法
  19.  
  20.    各種データファイルと同じディレクトリで JAN.EXP を実行してください。アイ
  21.   テム登録する場合は,ディレクトリを JAN.EXP のディレクトリに移動するように
  22.   するとよいでしょう。起動には一応2Mのメモリが必要な筈ですが,もしかした
  23.   ら1Mでも動くかもしれません(もし動くとしてもOSそのものが1Mでは動か
  24.   ないので古いバージョンのOSを使用する必要があります)。
  25.    なお,TOWNSマーティーでの動作は未確認です(動くとは思う)。
  26.  
  27.  
  28. ☆操作方法
  29.  
  30.    起動するといきなり始まります。操作はあなたの口で行ってください。まず,
  31.  
  32.     「じゃん,けん」
  33.  
  34.   と言ってきますので,「じゃん,けん,ぽん」の「ぽん」を言うのと同じタイミン
  35.   グで「ぐう」「ちょき」「ぱあ」の何れかを発声します。録音を開始すると,コン
  36.   ピュータ側の手が止まってしまいますが,それは見ないようにしましょう。
  37.    すると,音声データを解析します。そして,あなたの言った手を判定します。も
  38.   し認識率が悪いようでしたら,高性能のマイクを取りつけるか,次項を見てくださ
  39.   い。
  40.    さて,もし引き分けた場合は,再度チャレンジしてください。今度は
  41.  
  42.     「あいこで」
  43.  
  44.   と言ってきますので,同様に言ってください。
  45.  
  46.    1試合(?)終わり,続けたい場合はマウスの左ボタンを,やめたい場合はマウ
  47.   スの右ボタンを押してください。        ̄ ̄ ̄ ̄
  48.      ̄ ̄ ̄ ̄
  49.  
  50.  
  51. ☆認識率が悪い場合
  52.  
  53.    認識率が悪い場合は,マイクにできるだけ口を近づけてください。「ぱあ」と
  54.   言ったのに「ぐう」と判定されてしまう場合は,「ぱあ」を出来るだけ高い声で
  55.   はっきりと言ってみてください。決してごもった声で言ってはいけません。また
  56.   「ちょき」がうまく認識されない場合は,「ちょーきぃー」と言ってみてくださ
  57.   い。これでそれなりの認識率が出る筈です。
  58.    なお,女性の方,幼児の方の場合は認識率が極端に落ちることが予想されます。
  59.   音声認識装置は特定の人間をターゲットにしなければならないので,我慢してくだ
  60.   さい。残念ながら私の周りには音声認識に協力してくれる友人がいませんでしたの
  61.   で,厳密に言えば対象は私となってしまいます。あしからず。
  62.    以下に私が試行錯誤の末編み出した,「認識されやすい音声を発声する方法」を
  63.   書いておきます。
  64.  
  65.     ・「ぐう」と言うときには,「ぐうぅ」と,「う」の部分を強く,延ばして発
  66.      声する。
  67.     ・「ぱあ」と言うときには,「ぱあぁ」と,「あ」の部分を強く,多少高めに
  68.      発声する。(LABELINGの欄で,ちゃんとAになっているか確認すること)
  69.     ・「ちょき」と言うときには,「ちょきぃ」と,多少「き」を延ばして発声す
  70.      る。また,Sの音(「きぃ」などの音)を,「ちょ」と「き」の前に入れる
  71.       ようにします。具体的には,LABELINGの欄が「-----SUUU---SUU---」となれ
  72.      ば完璧です。
  73.  
  74.    なお,何も言っていないのにLABELINGの欄に文字が表示されてしまうこともある
  75.   と思います。それは辺りの音が原因と思われますので,外付けマイクを使用してく
  76.   ださい(音声認識に騒音は禁物です)。
  77.  
  78.  
  79. ☆動作原理
  80.  
  81.    このプログラムは,始まったら「じゃん,けん」と先ず発声します。その後,約
  82.   1秒間に渡って音声をマイクから録音します。音声の録音周波数は高ければ高い程
  83.   高感度なのですが,あまり高いと音声データが多くなり,解析に時間がかかってし
  84.   まいますので,9600Hzで録音しています。
  85.    なお,「じゃん,けん,ぽん」と発声すればいいと思う方もいるでしょうが,
  86.   TOWNSで発声と録音を同時にやると,ハウリングを起こしてしまうので,殆ど
  87.   何も録音されなくなってしまいます。そのため,「じゃん,けん」とだけ発声して
  88.   「ぽん」の部分にあたる1秒間を録音することにより,普通にタイミング良く「ぐ
  89.   う」「ちょき」「ぱあ」と発声した場合の音声の録音ミスを未然に防いでいます。
  90.  
  91.    そのようにすると,9600バイト(TOWNSのPCMは量子化ビット8ビッ
  92.   トなので,9600Hzの周波数で1秒間録音すると9600バイトになります)
  93.   の解析すべき音声データが得られます。このプログラムでは,ORIFICE(O
  94.   h!FMTOWNS,1992年夏の特別号に掲載された向井真也氏作の音声認識
  95.   プログラム)と同じように9600バイトのデータをいくつかの固まりに分けて,
  96.   それぞれの音声が何であるのかを個別に解析した後,結果として9600バイトは
  97.   何だったのかを求めています。
  98.    まず,9600バイトのデータを256バイト(30msぐらい)ずつに分けま
  99.   す。その後,その256バイトに対して複雑な解析を行い,(フーリエ変換等)そ
  100.   の256バイトが何の音であったかを判定します。
  101.    ORIFICEでは,それを母音3種類と子音1種類,無声音1種類に分けてい
  102.   ます。しかし,このプログラムでは,母音2種類と子音1種類,無声音1種類に分
  103.   けています。何故でしょうか。それはこのプログラムがジャンケンであるというこ
  104.   とに起因します。
  105.    ORIFICEはその性格上,「汎用の音声認識装置」でなければいけません。
  106.   しかし,おおげさな言い方をすれば,このプログラムでは「「ぐう」か「ちょき」
  107.   か「ぱあ」が判定できればいい」のです。もちろん「じゃん,けん,こんにちは」
  108.   などといった場合は変な動作をしてしまいますが,それは仕様外ということで逃げ
  109.   ます。
  110.    ORIFICE上で「ぐう」「ちょき」「ぱあ」の音声データを解析してみれば
  111.   分かりますが,「ぐう」は UUUUUUUU ,「ちょき」は SEUUU-SU ,「ぱあ」は AAA
  112.   AAA ,となります。つまり,A とU とS さえ判定できてしまえば何とか「ぐう」か
  113.   「ちょき」か「ぱあ」ぐらいは判定できてしまうのです。
  114.    その結果,「-----AAAAA--AAA----------------------」 という音声データが得
  115.   られたとします。もちろんこれは「ぱあ」ですね。しかし,それを単純に比較した
  116.   のでは正確な比較にはなりません。それは,人は場合によって話す速度や,雑音等
  117.   が違うからです。そこで,このプログラムはそのような点を考慮して,これまた独
  118.   自のアルゴリズムを用いて「ぐう」「ちょき」「ぱあ」のどれに近いかを判定して
  119.   います。
  120.    なお,前述の「-----AAAAA--AAA----------------------」 を求める動作をラベ
  121.   リングと言い,その結果を画面内のLABELINGの欄に表示します。
  122.  
  123.  
  124. ☆雑感
  125.  
  126.    いや~。苦労しました。ORIFICEでは1秒の音声データを解析するのに大
  127.   体10秒ぐらいかかってしまうんですね。私も最初は,そのくらい時間がかかって
  128.   も,「音声を認識する」というだけでいいやと,思っていたんですが,10秒では
  129.   いかにも長すぎるので,どうにかして計算時間を1秒程度にまで縮めなければいけ
  130.   ないなぁ~と,考えていたんです。
  131.    しかし,ORIFICEについても,ソースを見たわけではないので分かりませ
  132.   んが,遅いのは無駄な計算をやっているからではなくて,音声認識処理がパソコン
  133.   にとっては重すぎる処理だからです。そのため,いくら演算を高速化しても,それ
  134.   ほど速くなるとは思えません。そこで,私が独自に超高速アルゴリズムを考案して
  135.   しまった訳なんです(と,書くと恰好いいですが,要するにジャンケンに不要な演
  136.   算を飛ばしているだけです)。この方法だと,1秒の音声データの解析に,フーリ
  137.   エ変換の時間も入れて1秒ぐらいでできてしまいます。うまくやればリアルタイム
  138.   に認識することができるかもしれません。(人工知能を組み込んで「TOWNS君
  139.   と会話しよう」とか,...あ,怪しすぎる,...)
  140.    ちなみに私は決してORIFICEをデバッガで解析,...なんかはしていま
  141.   せん。向井氏の僅かな原稿を頼りに専門書をあさって(ところで何で専門書ってあ
  142.   んなに難解なの?),なんとかプログラムが組める程度に理解しました(したつも
  143.   り)。でもまだ分からない部分が沢山ありますので,動作原理を説明しろと言われ
  144.   ても困ってしまいます。その点は突っ込まないように。
  145.    ところで音声認識って,けっこう技術的には進んでいるそうですけど,街で見か
  146.   けたことはありません。やっぱりこの騒音社会の中では音声認識はつらいのかもし
  147.   れませんね(音声ジャンケンも,大通りに面している家などではうまく実行できな
  148.   いと思います)。
  149.    NIFTYに入っている方は,「VFB02611 伊藤哲史」までメールをくれると何
  150.   かいいことがあるかもしれません。
  151.  
  152.  
  153. ☆ファイル構成
  154.  
  155.     JAN.DOC             ドキュメントファイル(これ)
  156.     JAN.EXP             実行ファイル
  157.     JAN.SND             ジャンケンの音声データ
  158.     AIKO.SND            あいこの場合の音声データ
  159.     GOMEN.SND           認識失敗時の音声データ
  160.     YOUWIN.SND          プレイヤが勝った時の音声データ
  161.     COMWIN.SND          コンピュータが勝った時の音声データ
  162.     JBACK.TIF           背景の画像データ
  163.     HAND.TIF            手の画像データ
  164.  
  165.  
  166. ☆補足
  167.  
  168.    GCCで作られたEXPはヘッダの長さが256バイトなので,初期バージョン
  169.   はCDからは起動できず,関係者の方には大変迷惑をおかけしました。なお,今回
  170.   同封したEXPはヘッダを512バイトに直してありますのでCDからそのまま起
  171.   動できる筈です。面倒でも差し替えてください。お願いします。(ところで,何故
  172.   CDからだとヘッダが512バイト固定なのだろうか? どなたかご存じの方,い
  173.   ません?)
  174.    もし私への連絡を希望するのであれば,書面で富士通を通しても構いませんが,
  175.   NIFTYの「VFB02611 伊藤哲史」までメールで連絡しても構いません。感想,
  176.   要望などをお待ちしています。
  177.   (ところで,EXPの中身をDUMPしてみました?)
  178.  
  179.                          1993年5月5日 自宅にて
  180.